package org.hdl.anima;

import java.util.List;

import org.hdl.anima.filter.HandlerFilter;
/**
 * 
 * @author qiuhd
 * @since  2014-8-1
 * @version V1.0.0
 */
public abstract class AbstractApplication {
	
	/**
	 * Return the application configuration
	 * @return
	 */
	public abstract AppConf getAppConf();
	
	public abstract String getId();
	
	public abstract Version getVersion();
    
	public abstract boolean isFrontend();
	
	public abstract void addBefore(HandlerFilter filter);
	
	public abstract void addAfter(HandlerFilter filter);
    
	public abstract List<HandlerFilter> getBefore();
	
	public abstract List<HandlerFilter> getAfter();
    
	public abstract <T> T getMoulde(Class<T> clazz);
   
	public abstract ClassLoader getClassLoader();

}

